//
//  JJInterpolatorastOutSlowIn.swit
//
//  Created by Juan J L on 3/24/20.
//  Copyright © 2020 Juan J L. All rights reserved.
//

import Foundation

/**
   Interpolator
   Uses a Lookup table for bezier curve from 0 to 1,1 with control points:
   P0 (0,0)
   P1 (0.4,0)
   P2 (0.2,1.0)
   P3 (1,1)
*/
public class JJInterpolatorFastOutSlowIn : JJInterpolatorLookupTable {
    /**
        Lookup table values sampled with x at regular intervals between 0 and 1 for a
        total of 201 points
    */
   public  static let VALUES :[Float] = [
        0.0000, 0.0001, 0.0002, 0.0005, 0.0009, 0.0014, 0.0020,
        0.0027, 0.0036, 0.0046, 0.0058, 0.0071, 0.0085, 0.0101,
        0.0118, 0.0137, 0.0158, 0.0180, 0.0205, 0.0231, 0.0259,
        0.0289, 0.0321, 0.0355, 0.0391, 0.0430, 0.0471, 0.0514,
        0.0560, 0.0608, 0.0660, 0.0714, 0.0771, 0.0830, 0.0893,
        0.0959, 0.1029, 0.1101, 0.1177, 0.1257, 0.1339, 0.1426,
        0.1516, 0.1610, 0.1707, 0.1808, 0.1913, 0.2021, 0.2133,
        0.2248, 0.2366, 0.2487, 0.2611, 0.2738, 0.2867, 0.2998,
        0.3131, 0.3265, 0.3400, 0.3536, 0.3673, 0.3810, 0.3946,
        0.4082, 0.4217, 0.4352, 0.4485, 0.4616, 0.4746, 0.4874,
        0.5000, 0.5124, 0.5246, 0.5365, 0.5482, 0.5597, 0.5710,
        0.5820, 0.5928, 0.6033, 0.6136, 0.6237, 0.6335, 0.6431,
        0.6525, 0.6616, 0.6706, 0.6793, 0.6878, 0.6961, 0.7043,
        0.7122, 0.7199, 0.7275, 0.7349, 0.7421, 0.7491, 0.7559,
        0.7626, 0.7692, 0.7756, 0.7818, 0.7879, 0.7938, 0.7996,
        0.8053, 0.8108, 0.8162, 0.8215, 0.8266, 0.8317, 0.8366,
        0.8414, 0.8461, 0.8507, 0.8551, 0.8595, 0.8638, 0.8679,
        0.8720, 0.8760, 0.8798, 0.8836, 0.8873, 0.8909, 0.8945,
        0.8979, 0.9013, 0.9046, 0.9078, 0.9109, 0.9139, 0.9169,
        0.9198, 0.9227, 0.9254, 0.9281, 0.9307, 0.9333, 0.9358,
        0.9382, 0.9406, 0.9429, 0.9452, 0.9474, 0.9495, 0.9516,
        0.9536, 0.9556, 0.9575, 0.9594, 0.9612, 0.9629, 0.9646,
        0.9663, 0.9679, 0.9695, 0.9710, 0.9725, 0.9739, 0.9753,
        0.9766, 0.9779, 0.9791, 0.9803, 0.9815, 0.9826, 0.9837,
        0.9848, 0.9858, 0.9867, 0.9877, 0.9885, 0.9894, 0.9902,
        0.9910, 0.9917, 0.9924, 0.9931, 0.9937, 0.9944, 0.9949,
        0.9955, 0.9960, 0.9964, 0.9969, 0.9973, 0.9977, 0.9980,
        0.9984, 0.9986, 0.9989, 0.9991, 0.9993, 0.9995, 0.9997,
        0.9998, 0.9999, 0.9999, 1.0000, 1.0000
    ]
    
    
    public init(){
        super.init(values: JJInterpolatorFastOutSlowIn.VALUES)
    }
}
